TextSelectionテーマの移行
まとめ
のThemeData
外観を制御するプロパティ
マテリアル ウィジェットで選択したテキストが に移動されました
彼ら自身TextSelectionTheme
。これらのプロパティには以下が含まれますcursorColor
、textSelectionColor
、 とtextSelectionHandleColor
。これらのデフォルトは
マテリアルに合わせてプロパティも変更されました
設計仕様。
コンテクスト
より大きな規模の一部としてマテリアルテーマの更新、
新しいものを導入しましたテキスト選択のテーマ選択したテキストのプロパティを指定するために使用されますTextField
とSelectableText
ウィジェット。
これらは、次のいくつかのトップレベル プロパティを置き換えます。ThemeData
マテリアルに一致するようにデフォルト値を更新します
設計仕様。このドキュメントでは、その方法について説明します
アプリケーションはこの新しい API に移行できます。
移行ガイド
現在次のプロパティを使用している場合は、ThemeData
新しいものを使用するには更新する必要があります。
同等のプロパティThemeData.textSelectionTheme
:
前 | 後 |
---|---|
ThemeData.cursorColor |
TextSelectionThemeData.cursorColor |
ThemeData.textSelectionColor |
TextSelectionThemeData.selectionColor |
ThemeData.textSelectionHandleColor |
TextSelectionThemeData.selectionHandleColor |
移行前のコード:
ThemeData(
cursorColor: Colors.red,
textSelectionColor: Colors.green,
textSelectionHandleColor: Colors.blue,
)
移行後のコード:
ThemeData(
textSelectionTheme: TextSelectionThemeData(
cursorColor: Colors.red,
selectionColor: Colors.green,
selectionHandleColor: Colors.blue,
)
)
デフォルトの変更
これらのプロパティを明示的に使用していない場合は、
ただし、以前に使用されていたデフォルトの色に依存します
テキストを選択するには、新しいフィールドを追加できます。ThemeData
アプリを古いデフォルトに戻すには
示されているように:
// Old defaults for a light theme
ThemeData(
textSelectionTheme: TextSelectionThemeData(
cursorColor: const Color.fromRGBO(66, 133, 244, 1.0),
selectionColor: const Color(0xff90caf9),
selectionHandleColor: const Color(0xff64b5f6),
)
)
// Old defaults for a dark theme
ThemeData(
textSelectionTheme: TextSelectionThemeData(
cursorColor: const Color.fromRGBO(66, 133, 244, 1.0),
selectionColor: const Color(0xff64ffda),
selectionHandleColor: const Color(0xff1de9b6),
)
)
新しいデフォルトで問題ない場合は、 しかし、ゴールデン ファイル テストに失敗した場合、 を使用してマスター ゴールデン ファイルを更新できます。 次のコマンド:
$ flutter test --update-goldens
タイムライン
リリースされたバージョン: 1.23.0-4.0.pre
安定版リリース: 2.0.0
参考文献
API ドキュメント:
TextSelectionThemeData
ThemeData
関連する PR:
- PR 62014: TextSelectionTheme のサポート